package com.ctshk.rpc.order.air.req;

import com.ctshk.common.enums.OrderSource;
import com.ctshk.rpc.order.air.req.orderDetail.AirOrderInsuranceData;
import com.ctshk.rpc.order.air.req.orderDetail.AirOrderTouristData;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 新增机票订单
 * </p>
 *
 * @author lihang
 * @since 2021-03-15
 */
@Data
@ApiModel(value="AirOrder对象", description="新增机票订单Req")
public class AirOrderAddReq  implements Serializable {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "订单行程类型")
    private Integer tripType;

//    @ApiModelProperty(value = "船票产品id,多个逗号分隔",required = true)
//    private String productId;

    @ApiModelProperty(value = "是否代理下单 0是 1不是",required = true)
    private Integer isAgent;

    @ApiModelProperty(value = "代理公司id")
    private Long agencyId;

    @ApiModelProperty(value = "代理公司")
    private String agencyCompany;

    @ApiModelProperty(value = "代理人名称")
    private String agentUserName;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "优惠券代码")
    private String couponCode;

    @ApiModelProperty(value = "优惠券抵扣金额")
    private BigDecimal couponDeduction;

    @ApiModelProperty(value = "会员积分抵扣(100积分抵扣1元人民币,需换算)")
    private BigDecimal integralDeduction;

    @ApiModelProperty(value = "积分")
    private Integer integral;

    @ApiModelProperty(value = "使用积分")
    private Integer usingPoints;

    @ApiModelProperty("会员类型(1:手机号查询,2:证件号码查询)")
    private int memberType;

    @ApiModelProperty("手机号码/證件類別號碼")
    private String memberNumber;

    @ApiModelProperty("会员證件類別碼 (取自證件類別列表)")
    private String certificateType;

    @ApiModelProperty(value = "来源")
    private Integer source = OrderSource.CPM.getCode();


    @ApiModelProperty(value = "销售方式(1：单品销售 2：打包销售)")
    private Integer salesMethods;

    @ApiModelProperty(value = "销售人员id")
    private Long salesmanId;

    @ApiModelProperty(value = "销售人员名称")
    private String salesmanName;

    @ApiModelProperty(value = "联系人姓",required = true)
    private String surname;

    @ApiModelProperty(value = "联系人名",required = true)
    private String name;

    @ApiModelProperty(value = "联系人姓名",required = true)
    private String contactName;

    @ApiModelProperty(value = "联系人手机",required = true)
    private String contactMobile;

    @ApiModelProperty(value = "联系人手机区号id",required = true)
    private Long contactMobileAreaCodeId;

    @ApiModelProperty(value = "联系人手机区号",required = true)
    private String contactMobileAreaCode;

    @ApiModelProperty(value = "联系人邮箱",required = true)
    private String contactEmail;

    @ApiModelProperty(value = "称谓(1:先生;2:女士;3:小姐;4:男童;5:女童)",required = true)
    private Integer appellation;

    @ApiModelProperty(value = "是否购买保险 0 不买 1购买",required = true)
    private Integer buyInsurance;

    @ApiModelProperty(value = "旅客信息",required = true)
    private List<AirOrderTouristData> airOrderTouristDataList;

    @ApiModelProperty(value = "航班信息",required = true)
    private List<AirOrderAddFlightReq> airOrderFlightDataList;

    @ApiModelProperty(value = "保险信息")
    private List<AirOrderInsuranceData> airOrderInsuranceDataList;
}
